[INFO] cloning repository https://github.com/ssp-rs/ssp-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ssp-rs/ssp-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssp-rs%2Fssp-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssp-rs%2Fssp-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 22c032a8083ff28c6eeb7323d64f5d985cbce2b5
[INFO] fixing ssp-rs/ssp-server against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssp-rs%2Fssp-server" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ssp-rs/ssp-server
[INFO] finished tweaking git repo https://github.com/ssp-rs/ssp-server
[INFO] tweaked toml for git repo https://github.com/ssp-rs/ssp-server written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ssp-rs/ssp-server on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ssp-rs/ssp-server already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 38e6a93a36982c4c8d50eb72aea5c30540f9a385a22dfe42e5c1b62f46f35baf
[INFO] running `Command { std: "docker" "start" "38e6a93a36982c4c8d50eb72aea5c30540f9a385a22dfe42e5c1b62f46f35baf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38e6a93a36982c4c8d50eb72aea5c30540f9a385a22dfe42e5c1b62f46f35baf" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "38e6a93a36982c4c8d50eb72aea5c30540f9a385a22dfe42e5c1b62f46f35baf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38e6a93a36982c4c8d50eb72aea5c30540f9a385a22dfe42e5c1b62f46f35baf" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling serde v1.0.201
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.12
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking crossbeam-queue v0.3.11
[INFO] [stderr]     Checking lock_api v0.4.12
[INFO] [stderr]     Checking bitfield v0.14.0
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking heapless v0.7.17
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.63
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.2
[INFO] [stderr]     Checking bus v2.4.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.201
[INFO] [stderr]    Compiling thiserror-impl v1.0.60
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]     Checking thiserror v1.0.60
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]     Checking unescaper v0.1.4
[INFO] [stderr]     Checking serialport v4.3.0
[INFO] [stderr]     Checking currency-iso4217 v0.1.1
[INFO] [stderr]     Checking smol-jsonrpc v0.2.0
[INFO] [stderr]     Checking ssp v0.5.4
[INFO] [stderr]     Checking ssp-server v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/macros.rs (2 fixes)
[INFO] [stderr]        Fixed src/device_handle.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:38:21
[INFO] [stdout]     |
[INFO] [stdout]  38 |                     tx.send(ssp::Event::from(ssp::CashboxReplacedEvent::new())),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                     up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  51 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:70:29
[INFO] [stdout]     |
[INFO] [stdout]  70 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:87:25
[INFO] [stdout]     |
[INFO] [stdout]  87 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:105:29
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:124:29
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:338:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] 338 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 340 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:343:33
[INFO] [stdout]     |
[INFO] [stdout] 343 |   ...                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 353 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 354 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 355 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] 357 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 359 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:365:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] 364 |                               continue_on_err!(
[INFO] [stdout] 365 |                                   Self::poll_encrypted_message(&mut locked_port, &mut message, key),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                           } else {
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:370:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 370 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                           };
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 359 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 354 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 355 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:343:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 343 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:338:33
[INFO] [stdout]     |
[INFO] [stdout] 338 |                                 Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                 "Failed to lock serial port in background polling routine"
[INFO] [stdout] 340 |                             );
[INFO] [stdout]     |                              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 352 |                         let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `locked_port` calls a custom destructor
[INFO] [stdout]     |                             `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                         let key = continue_on_err!(
[INFO] [stdout]     |                             ---
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `key` calls a custom destructor
[INFO] [stdout]     |                             `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                         let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                             ---
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `res` calls a custom destructor
[INFO] [stdout]     |                             `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                             let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                 -------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                 `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:481:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] 481 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 482 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 483 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 486 |   ...                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 496 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 497 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 498 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 499 |
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:501:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] 501 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 502 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 503 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 519 |   ...                   Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:538:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                               Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |                               "Failed poll command"
[INFO] [stdout] 540 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:538:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |                               Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |                               "Failed poll command"
[INFO] [stdout] 540 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 519 |                                   Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:501:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 502 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 503 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 497 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 498 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 486 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:481:33
[INFO] [stdout]     |
[INFO] [stdout] 481 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 482 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 483 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `locked_port` calls a custom destructor
[INFO] [stdout]     |                               `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 589 |             let res = continue_on_err!(
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `res` calls a custom destructor
[INFO] [stdout]     |                 `res` will be dropped later as of Edition 2024
[INFO] [stdout] 590 |                 Self::poll_message(serial_port, &mut message, key),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 591 |                 format!("Device is still resetting, elapsed time: {elapsed}")
[INFO] [stdout] 592 |             );
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:598:25
[INFO] [stdout]     |
[INFO] [stdout] 589 |             let res = continue_on_err!(
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `res` calls a custom destructor
[INFO] [stdout]     |                 `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 598 |                         tx.send(ssp::Event::from(ssp::ResetEvent::new())),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1103:19
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         let res = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                   --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                   |                                                  |
[INFO] [stdout]      |                   |                                                  in this macro invocation
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1103:19
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         let res = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                   ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1124:13
[INFO] [stdout]      |
[INFO] [stdout] 1124 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1125 |         self.set_inhibits_inner(&mut serial_port, enable_list, encryption_key!(self))
[INFO] [stdout]      |                                                                --------------------- in this macro invocation
[INFO] [stdout] 1126 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1125:14
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         self.set_inhibits_inner(&mut serial_port, enable_list, encryption_key!(self))
[INFO] [stdout]      |              ------------------ borrow later used by call      --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1168:13
[INFO] [stdout]      |
[INFO] [stdout] 1168 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1169 |
[INFO] [stdout] 1170 |         self.poll_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                           --------------------- in this macro invocation
[INFO] [stdout] 1171 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1170:14
[INFO] [stdout]      |
[INFO] [stdout] 1170 |         self.poll_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ----------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1195:24
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1195:24
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1208:24
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1208:24
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1221:24
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1221:24
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1239:13
[INFO] [stdout]      |
[INFO] [stdout] 1239 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1240 |
[INFO] [stdout] 1241 |         self.sync_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                           --------------------- in this macro invocation
[INFO] [stdout] 1242 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1241:14
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         self.sync_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ----------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1265:13
[INFO] [stdout]      |
[INFO] [stdout] 1265 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1266 |
[INFO] [stdout] 1267 |         self.enable_device_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |                                                                      --------------------- in this macro invocation
[INFO] [stdout] 1268 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1267:14
[INFO] [stdout]      |
[INFO] [stdout] 1267 |         self.enable_device_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |              ------------------- borrow later used by call           --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1306:13
[INFO] [stdout]      |
[INFO] [stdout] 1306 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1307 |         self.enable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                             --------------------- in this macro invocation
[INFO] [stdout] 1308 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1307:14
[INFO] [stdout]      |
[INFO] [stdout] 1307 |         self.enable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1326:13
[INFO] [stdout]      |
[INFO] [stdout] 1326 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1327 |         self.enable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1328 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1327:14
[INFO] [stdout]      |
[INFO] [stdout] 1327 |         self.enable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1347:13
[INFO] [stdout]      |
[INFO] [stdout] 1347 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1348 |         self.disable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                              --------------------- in this macro invocation
[INFO] [stdout] 1349 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1348:14
[INFO] [stdout]      |
[INFO] [stdout] 1348 |         self.disable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1367:13
[INFO] [stdout]      |
[INFO] [stdout] 1367 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1368 |         self.disable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                     --------------------- in this macro invocation
[INFO] [stdout] 1369 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1368:14
[INFO] [stdout]      |
[INFO] [stdout] 1368 |         self.disable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              --------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1391:24
[INFO] [stdout]      |
[INFO] [stdout] 1391 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1391:24
[INFO] [stdout]      |
[INFO] [stdout] 1391 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1402:24
[INFO] [stdout]      |
[INFO] [stdout] 1402 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1402:24
[INFO] [stdout]      |
[INFO] [stdout] 1402 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/device_handle.rs:1413:17
[INFO] [stdout]      |
[INFO] [stdout] 1409 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1413 |         match (*self.encryption_key()?).as_ref() { Some(key) => {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1420 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/device_handle.rs:1428:28
[INFO] [stdout]      |
[INFO] [stdout] 1424 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1428 |         if let Some(key) = self.encryption_key()?.as_ref() {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1435 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1442:13
[INFO] [stdout]      |
[INFO] [stdout] 1442 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1443 |
[INFO] [stdout] 1444 |         self.host_protocol_version_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |                                                                              --------------------- in this macro invocation
[INFO] [stdout] 1445 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1444:14
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         self.host_protocol_version_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |              --------------------------- borrow later used by call           --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1463:13
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1464 |         self.serial_number_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1465 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1464:14
[INFO] [stdout]      |
[INFO] [stdout] 1464 |         self.serial_number_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1553:38
[INFO] [stdout]      |
[INFO] [stdout] 1553 |         let res = if let Some(key) = encryption_key!(self) {
[INFO] [stdout]      |                                      --------------------- in this macro invocation
[INFO] [stdout] 1554 |             let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |                 ---------------   -------------------
[INFO] [stdout]      |                 |                 |
[INFO] [stdout]      |                 |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `serial_port` calls a custom destructor
[INFO] [stdout]      |                 `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1558 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    6 |       ($handle:tt) => {{
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]    7 | |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      | |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    8 | |     }};
[INFO] [stdout]      | |_____- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1553:38
[INFO] [stdout]      |
[INFO] [stdout] 1553 |           let res = if let Some(key) = encryption_key!(self) {
[INFO] [stdout]      |                                        --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1589:13
[INFO] [stdout]      |
[INFO] [stdout] 1589 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1590 |         self.setup_request_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1591 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1590:14
[INFO] [stdout]      |
[INFO] [stdout] 1590 |         self.setup_request_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1617:13
[INFO] [stdout]      |
[INFO] [stdout] 1617 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1618 |
[INFO] [stdout] 1619 |         self.unit_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                --------------------- in this macro invocation
[INFO] [stdout] 1620 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1619:14
[INFO] [stdout]      |
[INFO] [stdout] 1619 |         self.unit_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ---------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1635:13
[INFO] [stdout]      |
[INFO] [stdout] 1635 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1636 |
[INFO] [stdout] 1637 |         Self::dataset_version_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                       --------------------- in this macro invocation
[INFO] [stdout] 1638 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1637:9
[INFO] [stdout]      |
[INFO] [stdout] 1637 |         Self::dataset_version_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |         ---------------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |         |
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1653:13
[INFO] [stdout]      |
[INFO] [stdout] 1653 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1654 |
[INFO] [stdout] 1655 |         self.channel_value_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                         --------------------- in this macro invocation
[INFO] [stdout] 1656 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1655:14
[INFO] [stdout]      |
[INFO] [stdout] 1655 |         self.channel_value_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ------------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1680:24
[INFO] [stdout]      |
[INFO] [stdout] 1680 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1680:24
[INFO] [stdout]      |
[INFO] [stdout] 1680 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1691:24
[INFO] [stdout]      |
[INFO] [stdout] 1691 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1691:24
[INFO] [stdout]      |
[INFO] [stdout] 1691 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1704:24
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1704:24
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1715:24
[INFO] [stdout]      |
[INFO] [stdout] 1715 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1715:24
[INFO] [stdout]      |
[INFO] [stdout] 1715 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1733:24
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1733:24
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1744:24
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1744:24
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1759:24
[INFO] [stdout]      |
[INFO] [stdout] 1759 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1759:24
[INFO] [stdout]      |
[INFO] [stdout] 1759 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1770:24
[INFO] [stdout]      |
[INFO] [stdout] 1770 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1770:24
[INFO] [stdout]      |
[INFO] [stdout] 1770 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1787:24
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1787:24
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1810 |         self.payout_by_denomination_inner(&mut serial_port, &mut message, encryption_key!(self))
[INFO] [stdout]      |                                                                           --------------------- in this macro invocation
[INFO] [stdout] 1811 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1810:14
[INFO] [stdout]      |
[INFO] [stdout] 1810 |         self.payout_by_denomination_inner(&mut serial_port, &mut message, encryption_key!(self))
[INFO] [stdout]      |              ---------------------------- borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:285:33
[INFO] [stdout]     |
[INFO] [stdout] 225 |               if let Ok((mut stream, _)) = self.listener_mut()?.accept() {
[INFO] [stdout]     |                                            -----------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 | /                 thread::spawn(move || -> Result<()> {
[INFO] [stdout] 241 | |                     while !stop_stream.load(Ordering::Relaxed) {
[INFO] [stdout] 242 | |                         let mut lock = continue_on_err!(
[INFO] [stdout] 243 | |                             Self::lock_handle(&handle),
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |                     Ok(())
[INFO] [stdout] 282 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 285 |               while let Ok(msg) = self.push_queue()?.pop_event() {
[INFO] [stdout]     |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |      |
[INFO] [stdout]     |                            |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `msg` calls a custom destructor
[INFO] [stdout]     |                            `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:285:33
[INFO] [stdout]     |
[INFO] [stdout] 285 |             while let Ok(msg) = self.push_queue()?.pop_event() {
[INFO] [stdout]     |                          ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |      |
[INFO] [stdout]     |                          |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `msg` calls a custom destructor
[INFO] [stdout]     |                          `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:243:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         let mut lock = continue_on_err!(
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `lock` calls a custom destructor
[INFO] [stdout]     |                             `lock` will be dropped later as of Edition 2024
[INFO] [stdout] 243 |                             Self::lock_handle(&handle),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |                             "lock handle in accept loop"
[INFO] [stdout] 245 |                         );
[INFO] [stdout]     |                          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 276 |                         while let Ok(msg) = rx.try_recv() {
[INFO] [stdout]     |                                      ---
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `msg` calls a custom destructor
[INFO] [stdout]     |                                      `msg` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:276:45
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         let mut lock = continue_on_err!(
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `lock` calls a custom destructor
[INFO] [stdout]     |                             `lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 276 |                         while let Ok(msg) = rx.try_recv() {
[INFO] [stdout]     |                                      ---    ^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |      |
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `msg` calls a custom destructor
[INFO] [stdout]     |                                      `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 277 |                             Self::send(&mut stream, &msg)?;
[INFO] [stdout] 278 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:276:45
[INFO] [stdout]     |
[INFO] [stdout] 276 |                         while let Ok(msg) = rx.try_recv() {
[INFO] [stdout]     |                                      ---    ^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |      |
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `msg` calls a custom destructor
[INFO] [stdout]     |                                      `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 277 |                             Self::send(&mut stream, &msg)?;
[INFO] [stdout] 278 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/auto_server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:38:21
[INFO] [stdout]     |
[INFO] [stdout]  38 |                     tx.send(ssp::Event::from(ssp::CashboxReplacedEvent::new())),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                     up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  51 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:70:29
[INFO] [stdout]     |
[INFO] [stdout]  70 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:87:25
[INFO] [stdout]     |
[INFO] [stdout]  87 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:105:29
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:124:29
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle/inner.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                         tx.send(ssp::Event::from(event)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:338:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] 338 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 340 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:343:33
[INFO] [stdout]     |
[INFO] [stdout] 343 |   ...                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 353 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 354 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 355 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] 357 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 359 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:365:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] 364 |                               continue_on_err!(
[INFO] [stdout] 365 |                                   Self::poll_encrypted_message(&mut locked_port, &mut message, key),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                           } else {
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:370:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 370 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                           };
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 358 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 359 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 354 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 355 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:343:33
[INFO] [stdout]     |
[INFO] [stdout] 337 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 343 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                           let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                               let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                   `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:338:33
[INFO] [stdout]     |
[INFO] [stdout] 338 |                                 Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                 "Failed to lock serial port in background polling routine"
[INFO] [stdout] 340 |                             );
[INFO] [stdout]     |                              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 352 |                         let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `locked_port` calls a custom destructor
[INFO] [stdout]     |                             `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 356 |                         let key = continue_on_err!(
[INFO] [stdout]     |                             ---
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `key` calls a custom destructor
[INFO] [stdout]     |                             `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                         let res = if let Some(key) = key.as_ref() {
[INFO] [stdout]     |                             ---
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `res` calls a custom destructor
[INFO] [stdout]     |                             `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 382 |                             let last_statuses = poll_res.last_response_statuses();
[INFO] [stdout]     |                                 -------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `last_statuses` calls a custom destructor
[INFO] [stdout]     |                                 `last_statuses` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_statuses` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:481:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] 481 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 482 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 483 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 486 |   ...                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 496 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 497 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 498 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 499 |
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:501:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] 501 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 502 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 503 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 519 |   ...                   Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:538:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                               Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |                               "Failed poll command"
[INFO] [stdout] 540 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:538:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |                               Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 539 |                               "Failed poll command"
[INFO] [stdout] 540 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 519 |                                   Self::poll_message(&mut locked_port, &mut message, key.as_ref()),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:501:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                               Self::lock_encryption_key(&key),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 502 |                               "Failed to lock encryption key in background polling routine"
[INFO] [stdout] 503 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                               Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 497 |                               "Failed to lock serial port in background polling routine"
[INFO] [stdout] 498 |                           );
[INFO] [stdout]     |                            - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 480 |                               let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                                   ---------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `locked_port` calls a custom destructor
[INFO] [stdout]     |                                   `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 486 |                                   Self::poll_message_variant(&mut locked_port, &mut message),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |       }};
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:481:33
[INFO] [stdout]     |
[INFO] [stdout] 481 |                                   Self::lock_serial_port(&serial_port),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 482 |                                   "Failed to lock serial port in background polling routine"
[INFO] [stdout] 483 |                               );
[INFO] [stdout]     |                                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 495 |                           let mut locked_port = continue_on_err!(
[INFO] [stdout]     |                               ---------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `locked_port` calls a custom destructor
[INFO] [stdout]     |                               `locked_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |                           let key = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `key` calls a custom destructor
[INFO] [stdout]     |                               `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |                           let res = continue_on_err!(
[INFO] [stdout]     |                               ---
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `res` calls a custom destructor
[INFO] [stdout]     |                               `res` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         match $res {
[INFO] [stdout]  16 | |             Ok(res) => res,
[INFO] [stdout]  17 | |             Err(err) => {
[INFO] [stdout]  18 | |                 let err_msg = $err;
[INFO] [stdout] ...   |
[INFO] [stdout]  22 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_port` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 589 |             let res = continue_on_err!(
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `res` calls a custom destructor
[INFO] [stdout]     |                 `res` will be dropped later as of Edition 2024
[INFO] [stdout] 590 |                 Self::poll_message(serial_port, &mut message, key),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 591 |                 format!("Device is still resetting, elapsed time: {elapsed}")
[INFO] [stdout] 592 |             );
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/device_handle.rs:598:25
[INFO] [stdout]     |
[INFO] [stdout] 589 |             let res = continue_on_err!(
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `res` calls a custom destructor
[INFO] [stdout]     |                 `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 598 |                         tx.send(ssp::Event::from(ssp::ResetEvent::new())),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     }};
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]     |
[INFO] [stdout]  10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.7.17/src/vec.rs:854:1
[INFO] [stdout]     |
[INFO] [stdout] 854 | impl<T, const N: usize> Drop for Vec<T, N> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1103:19
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         let res = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                   --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                   |                                                  |
[INFO] [stdout]      |                   |                                                  in this macro invocation
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1103:19
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         let res = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                   ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1124:13
[INFO] [stdout]      |
[INFO] [stdout] 1124 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1125 |         self.set_inhibits_inner(&mut serial_port, enable_list, encryption_key!(self))
[INFO] [stdout]      |                                                                --------------------- in this macro invocation
[INFO] [stdout] 1126 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1125:14
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         self.set_inhibits_inner(&mut serial_port, enable_list, encryption_key!(self))
[INFO] [stdout]      |              ------------------ borrow later used by call      --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1168:13
[INFO] [stdout]      |
[INFO] [stdout] 1168 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1169 |
[INFO] [stdout] 1170 |         self.poll_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                           --------------------- in this macro invocation
[INFO] [stdout] 1171 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1170:14
[INFO] [stdout]      |
[INFO] [stdout] 1170 |         self.poll_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ----------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1195:24
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1195:24
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1208:24
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1208:24
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1221:24
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1221:24
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1239:13
[INFO] [stdout]      |
[INFO] [stdout] 1239 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1240 |
[INFO] [stdout] 1241 |         self.sync_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                           --------------------- in this macro invocation
[INFO] [stdout] 1242 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1241:14
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         self.sync_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ----------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1265:13
[INFO] [stdout]      |
[INFO] [stdout] 1265 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1266 |
[INFO] [stdout] 1267 |         self.enable_device_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |                                                                      --------------------- in this macro invocation
[INFO] [stdout] 1268 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1267:14
[INFO] [stdout]      |
[INFO] [stdout] 1267 |         self.enable_device_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |              ------------------- borrow later used by call           --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1306:13
[INFO] [stdout]      |
[INFO] [stdout] 1306 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1307 |         self.enable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                             --------------------- in this macro invocation
[INFO] [stdout] 1308 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1307:14
[INFO] [stdout]      |
[INFO] [stdout] 1307 |         self.enable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1326:13
[INFO] [stdout]      |
[INFO] [stdout] 1326 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1327 |         self.enable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1328 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1327:14
[INFO] [stdout]      |
[INFO] [stdout] 1327 |         self.enable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1347:13
[INFO] [stdout]      |
[INFO] [stdout] 1347 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1348 |         self.disable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                              --------------------- in this macro invocation
[INFO] [stdout] 1349 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1348:14
[INFO] [stdout]      |
[INFO] [stdout] 1348 |         self.disable_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1367:13
[INFO] [stdout]      |
[INFO] [stdout] 1367 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1368 |         self.disable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                     --------------------- in this macro invocation
[INFO] [stdout] 1369 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1368:14
[INFO] [stdout]      |
[INFO] [stdout] 1368 |         self.disable_payout_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              --------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1391:24
[INFO] [stdout]      |
[INFO] [stdout] 1391 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1391:24
[INFO] [stdout]      |
[INFO] [stdout] 1391 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1402:24
[INFO] [stdout]      |
[INFO] [stdout] 1402 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1402:24
[INFO] [stdout]      |
[INFO] [stdout] 1402 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/device_handle.rs:1413:17
[INFO] [stdout]      |
[INFO] [stdout] 1409 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1413 |         match (*self.encryption_key()?).as_ref() { Some(key) => {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1420 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/device_handle.rs:1428:28
[INFO] [stdout]      |
[INFO] [stdout] 1424 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1428 |         if let Some(key) = self.encryption_key()?.as_ref() {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1435 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1442:13
[INFO] [stdout]      |
[INFO] [stdout] 1442 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1443 |
[INFO] [stdout] 1444 |         self.host_protocol_version_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |                                                                              --------------------- in this macro invocation
[INFO] [stdout] 1445 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1444:14
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         self.host_protocol_version_inner(&mut serial_port, protocol_version, encryption_key!(self))
[INFO] [stdout]      |              --------------------------- borrow later used by call           --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1463:13
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1464 |         self.serial_number_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1465 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1464:14
[INFO] [stdout]      |
[INFO] [stdout] 1464 |         self.serial_number_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1553:38
[INFO] [stdout]      |
[INFO] [stdout] 1553 |         let res = if let Some(key) = encryption_key!(self) {
[INFO] [stdout]      |                                      --------------------- in this macro invocation
[INFO] [stdout] 1554 |             let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |                 ---------------   -------------------
[INFO] [stdout]      |                 |                 |
[INFO] [stdout]      |                 |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `serial_port` calls a custom destructor
[INFO] [stdout]      |                 `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1558 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    6 |       ($handle:tt) => {{
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]    7 | |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      | |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    8 | |     }};
[INFO] [stdout]      | |_____- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1553:38
[INFO] [stdout]      |
[INFO] [stdout] 1553 |           let res = if let Some(key) = encryption_key!(self) {
[INFO] [stdout]      |                                        --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1589:13
[INFO] [stdout]      |
[INFO] [stdout] 1589 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1590 |         self.setup_request_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                    --------------------- in this macro invocation
[INFO] [stdout] 1591 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1590:14
[INFO] [stdout]      |
[INFO] [stdout] 1590 |         self.setup_request_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              -------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1617:13
[INFO] [stdout]      |
[INFO] [stdout] 1617 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1618 |
[INFO] [stdout] 1619 |         self.unit_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                --------------------- in this macro invocation
[INFO] [stdout] 1620 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1619:14
[INFO] [stdout]      |
[INFO] [stdout] 1619 |         self.unit_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ---------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1635:13
[INFO] [stdout]      |
[INFO] [stdout] 1635 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1636 |
[INFO] [stdout] 1637 |         Self::dataset_version_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                       --------------------- in this macro invocation
[INFO] [stdout] 1638 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1637:9
[INFO] [stdout]      |
[INFO] [stdout] 1637 |         Self::dataset_version_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |         ---------------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |         |
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1653:13
[INFO] [stdout]      |
[INFO] [stdout] 1653 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] 1654 |
[INFO] [stdout] 1655 |         self.channel_value_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |                                                         --------------------- in this macro invocation
[INFO] [stdout] 1656 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1655:14
[INFO] [stdout]      |
[INFO] [stdout] 1655 |         self.channel_value_data_inner(&mut serial_port, encryption_key!(self))
[INFO] [stdout]      |              ------------------------                   --------------------- in this macro invocation
[INFO] [stdout]      |              |
[INFO] [stdout]      |              borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1680:24
[INFO] [stdout]      |
[INFO] [stdout] 1680 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1680:24
[INFO] [stdout]      |
[INFO] [stdout] 1680 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1691:24
[INFO] [stdout]      |
[INFO] [stdout] 1691 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1691:24
[INFO] [stdout]      |
[INFO] [stdout] 1691 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1704:24
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1704:24
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1715:24
[INFO] [stdout]      |
[INFO] [stdout] 1715 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1715:24
[INFO] [stdout]      |
[INFO] [stdout] 1715 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1733:24
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1733:24
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1744:24
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1744:24
[INFO] [stdout]      |
[INFO] [stdout] 1744 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1759:24
[INFO] [stdout]      |
[INFO] [stdout] 1759 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1759:24
[INFO] [stdout]      |
[INFO] [stdout] 1759 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1770:24
[INFO] [stdout]      |
[INFO] [stdout] 1770 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1770:24
[INFO] [stdout]      |
[INFO] [stdout] 1770 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1787:24
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        --------------------------------------------------------------------------- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |                        |                                                  |
[INFO] [stdout]      |                        |                                                  in this macro invocation
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ssp-0.5.4/src/encrypted/wrapped.rs:10:53
[INFO] [stdout]      |
[INFO] [stdout]   10 | #[derive(Clone, Debug, PartialEq, zeroize::Zeroize, zeroize::ZeroizeOnDrop)]
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` which comes from the expansion of the derive macro `zeroize::ZeroizeOnDrop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1787:24
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         let response = Self::poll_message(&mut serial_port, &mut message, encryption_key!(self))?;
[INFO] [stdout]      |                        ------------------ borrow later used by call       --------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `encryption_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:7:9
[INFO] [stdout]      |
[INFO] [stdout]    7 |         $handle.encryption_key()?.as_ref()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/device_handle.rs:1805:13
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         let mut serial_port = self.serial_port()?;
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `serial_port` calls a custom destructor
[INFO] [stdout]      |             `serial_port` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1810 |         self.payout_by_denomination_inner(&mut serial_port, &mut message, encryption_key!(self))
[INFO] [stdout]      |                                                                           --------------------- in this macro invocation
[INFO] [stdout] 1811 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/mutex.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `serial_port` invokes this custom destructor
[WARN] too many lines in the log, truncating it
